package com.sjlh.centurylianhua.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sjlh.centurylianhua.entity.Sale;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;

public interface SaleMapper extends BaseMapper<Sale> {
    /**
     *查询内容：
     * sale表的所有，
     * depot 表的 name 起别名为 depotName 以便自动赋值 sale 类中的 depotName 属性
     * customer 表的 name 起别名为 cusName 以便自动赋值 sale 类中的 cusName 属性
     * ${ew.customSqlSegment} 传递wrapper条件的固定写法
     * */
    @Select("select sale.*, depot.name as depotName,customer.cusName as cusName  from sale,depot,customer"
            +" ${ew.customSqlSegment} ")
    List<Sale> getInfo(@Param("ew")QueryWrapper<Sale> wrapper);
    /**
     *查询内容：
     * sale表的所有，
     * depot 表的 name 起别名为 depotName 以便自动赋值 sale 类中的 depotName 属性
     * customer 表的 cusName 起别名为 cusName 以便自动赋值 sale 类中的 cusName 属性;
     * page 封装分页对象
     * ${ew.customSqlSegment} 传递wrapper条件的固定写法
     * */
    @Select("select sale.*,user.userName, depot.name as depotName,customer.cusName as cusName from sale, depot,customer,user"
            +" ${ew.customSqlSegment} ")
    Page<Sale> getInfoPage(Page<Sale> page, @Param("ew") QueryWrapper<Sale> wrapper);
    //销售统计数据，显示人员名称
    @Select("select sum(saleTotal) remarks3,user.userName userName from sale,user"
            +" ${ew.customSqlSegment} group by sale.userId")
    List<Sale> saleCount(@Param("ew") QueryWrapper<Sale> wrapper);



}
